package com.developer.persistence.modulo.partidos.mapper.dao;

import java.util.List;

import com.developer.logic.modulo.grupos.dto.Grupo;
import com.developer.logic.modulo.partidos.dto.AlineacionPartido;
import com.developer.logic.modulo.partidos.dto.CambioPartido;
import com.developer.logic.modulo.partidos.dto.FaltaPartido;
import com.developer.logic.modulo.partidos.dto.GolesPartido;
import com.developer.logic.modulo.partidos.dto.Partido;
import com.developer.logic.modulo.partidos.dto.PartidoJuez;
import com.developer.logic.modulo.partidos.dto.TarjetasPartido;
import com.developer.logic.modulo.partidos.dto.TirosPartido;


public interface PartidoDao {

	public List<Partido> getPartidosPorGrupo(Grupo grupo);

	public void crearAlienacionPartido(AlineacionPartido alineacionPartido);
	
	public void crearCambioPartido(CambioPartido cambioPartido);

	public void crearFaltaPartido(FaltaPartido faltaPartido);

	public void crearGolesPartido(GolesPartido golesPartido);

	public void crearPartido(Partido partido);

	public void crearPartidoJuez(PartidoJuez partidoJuez);

	public void crearTarjetasPartido(TarjetasPartido tarjetasPartido);

	public void crearTirosPartido(TirosPartido tirosPartido);

	public Long getSiguienteIDAlineacionPartido();
	
	public Long getSiguienteIDCambioPartido();

	public Long getSiguienteIDFaltaPartido();

	public Long getSiguienteIDGolesPartido();

	public Long getSiguienteIDPartido();

	public Long getSiguienteIDPartidoJuez();

	public Long getSiguienteIDTarjetasPartido();

	public Long getSiguienteIDTirosPartido();
	
	public void programarPartido(Partido partido );
	
	public void finalizarPartido(Partido partido);
	
	public Partido getPartido(Long partido);
	
	public List<Partido> getPartidosPorGrupoPorProgramar(Grupo grupo);
	
	public List<Partido> getPartidosPorGrupoSinFinalizar(Grupo grupo);
	
	public List<TarjetasPartido> getTarjetasPartido(Partido partido);
	
	public List<GolesPartido>  getGolesPartido(Partido partido);
}
